/**
 * express 使用cookie
 * cookie 默认保存在浏览器本地，如果没有过期，关闭浏览器后还是存在cookie
 * 常用参数设置：
 *  doamin  域名，cookie可以在二级域名下共享
 *  maxAge  设置过期时间  maxAge:90000 //90秒后过期s
 *  expires 设置过期时间  nexpires: new Date(Date.now() +90000)  //90秒后过期
 *  secure  设置访问协议，true 只对https有效，false 只对http有效，默认为false
 *  path    设置cookie有效路径，只有在符合path的才会发送cookie
 *  httpOnly 只在http请求的时候有效，对于js等将无法获取到cookie信息
 *  signed   是否签名cookie，
 *
 */
const express = require('express');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');

const app = express();

app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use(cookieParser()); //设置cookie

app.get('/',function (req,res) {
    console.log(req.cookies);
    res.send('hello express');
});

app.get('/set',function (req,res) {
    /**
     * 参数1 key
     * 参数2 value
     * 参数3 cookie的设置信息
     * maxAge 过期时间
     * httpOnly 允许客户端访问
     * domain  设置多个二级域名的共享cookie  .aaa.com 表示 所有的aaa.com的二级域名均可以访问
     *                                 如： www.aaa.com   news.aaa.com 等
     */
    res.cookie("name",'zhangsan',{maxAge: 900000 ,domain:'.aaa.com'});
    //HttpOnly 默认 false 不允许 客户端脚本访问
    res.send('set');
});

app.get('/get',function (req,res) {
    //读取cookie
    console.log(req.cookies);
    res.send('get cookie name:'+req.cookies.name);
});

app.get('/news',function (req,res) {
    //读取cookie
    console.log(req.cookies);
    res.send('get cookie name:'+req.cookies.name);
});

app.listen(3001,'localhost');